package com.fjec.base.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Map;

/**
 * <p>
 * 001.附件表
 * </p>
 *
 * @author admin
 * @since 2020-08-31
 */
@Data
@TableName(value = "sys_annex", autoResultMap = true)
public class SysAnnex implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键Id
     */
    @TableId("Id")
    private Long id;

    /**
     * 存储类型 1=阿里OSS
     */
    @TableField("StoreType")
    private Integer storeType;

    /**
     * 文件名称
     */
    @TableField("FileName")
    private String fileName;

    /**
     * 文件类型
     */
    @TableField("ContentType")
    private String contentType;

    /**
     * 存储位置
     */
    @TableField("StoreLocation")
    private String storeLocation;

    /**
     * 访问地址
     */
    @TableField("Url")
    private String url;

    /**
     * 删除标记
     */
    @TableField("DelFlag")
    private Integer delFlag;

    /**
     * 排序
     */
    @TableField("Sort")
    private Integer sort;

    /**
     * 业务类型 1=用户头像
     * 2=店铺图片
     * 3=市场图片
     * 4=市场板块图片（业务编码保存【市场板块表】.板块值）
     * 5=投诉照片
     * 6=礼物图标
     */
    @TableField("BizType")
    private Integer bizType;

    /**
     * 业务Id
     */
    @TableField("BizId")
    private Long bizId;

    /**
     * 业务编码 由每个业务自己定义的编码
     */
    @TableField("BizCode")
    private Integer bizCode;

    /**
     * 创建时间
     */
    @TableField("CreateTime")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField("UpdateTime")
    private LocalDateTime updateTime;

    /**
     * 业务数据
     */
    @TableField(value = "BizData", typeHandler = JacksonTypeHandler.class)
    private Map<String, Object> bizData;

    @Override
    public String toString() {
        return "SysAnnex{" +
                "id=" + id +
                ", storeType=" + storeType +
                ", fileName=" + fileName +
                ", fileType=" + contentType +
                ", storeLocation=" + storeLocation +
                ", url=" + url +
                ", delFlag=" + delFlag +
                ", sort=" + sort +
                ", bizType=" + bizType +
                ", bizId=" + bizId +
                ", bizCode=" + bizCode +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", bizData=" + bizData + "}";
    }
}
